ফাইল থেকে ইনপুট/আউটপুট পড়া এবং লেখা

Computer Programming - ক্লোজার (Clojure) Input/Output (I/O in Clojure) |
182
182

ক্লোজারে (Clojure) ফাইল থেকে ইনপুট পড়া এবং আউটপুট লেখা

ক্লোজার (Clojure) প্রোগ্রামিং ভাষায় ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা সাধারণ ইনপুট-আউটপুট (I/O) অপারেশনগুলির মধ্যে পড়ে। ক্লোজারে java.io লাইব্রেরি ব্যবহার করে সহজেই ফাইল I/O অপারেশন সম্পন্ন করা যায়। ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখার জন্য ক্লোজারে কিছু সাধারণ পদ্ধতি নিচে আলোচনা করা হলো।


ফাইল থেকে ডেটা পড়া (Reading from a File)

ফাইল থেকে ডেটা পড়ার জন্য ক্লোজারে slurp ফাংশন ব্যবহার করা হয়, যা সম্পূর্ণ ফাইলের কনটেন্ট একবারে পড়ে একটি স্ট্রিং হিসেবে ফেরত দেয়।

উদাহরণ: slurp দিয়ে ফাইল পড়া

ধরা যাক, আমাদের একটি example.txt নামের ফাইল আছে যার মধ্যে কিছু লেখা রয়েছে। এই ফাইল থেকে ডেটা পড়ার জন্য নিচের কোডটি ব্যবহার করা যেতে পারে:

(def file-content (slurp "example.txt"))
(println file-content)

এখানে slurp ফাংশন example.txt ফাইলের কনটেন্ট পড়ে এবং file-content ভ্যারিয়েবলে সংরক্ষণ করে। তারপর println দিয়ে এটি প্রিন্ট করা হয়।


ফাইলে ডেটা লেখা (Writing to a File)

ফাইলে ডেটা লেখার জন্য ক্লোজারে spit ফাংশন ব্যবহার করা হয়, যা নির্দিষ্ট ফাইলে একটি স্ট্রিং রচনা বা সংরক্ষণ করে। spit ফাংশন ফাইলে নতুন কনটেন্ট লিখতে বা আগের কনটেন্টের শেষে যোগ করতে পারে।

উদাহরণ: spit দিয়ে ফাইলে লেখা

নিচের উদাহরণটি দেখায় কিভাবে output.txt ফাইলে ডেটা লেখা যায়:

(spit "output.txt" "This is a sample text.")

এখানে, spit ফাংশন output.txt নামের ফাইলে "This is a sample text." লেখে। যদি output.txt ফাইলটি আগে থেকেই বিদ্যমান থাকে, তাহলে এটি পুরানো কনটেন্ট মুছে ফেলে নতুন কনটেন্ট যুক্ত করবে।

বিদ্যমান কনটেন্টের শেষে নতুন কনটেন্ট যোগ করা

ফাইলে বিদ্যমান ডেটার শেষে নতুন ডেটা যোগ করতে :append true বিকল্পটি ব্যবহার করা হয়:

(spit "output.txt" "\nAdding more text." :append true)

এই কোডটি output.txt ফাইলের বিদ্যমান কনটেন্টের শেষে "Adding more text." যোগ করবে।


বড় ফাইল নিয়ে কাজ: BufferedReader এবং BufferedWriter

যদি ফাইলটি বড় হয় এবং slurp বা spit ব্যবহার উপযোগী না হয়, তাহলে BufferedReader এবং BufferedWriter ব্যবহার করা যেতে পারে।

উদাহরণ: BufferedReader দিয়ে ফাইল পড়া

(import '[java.io BufferedReader FileReader])

(with-open [reader (BufferedReader. (FileReader. "example.txt"))]
  (doseq [line (line-seq reader)]
    (println line)))

এখানে, BufferedReader এবং FileReader ব্যবহার করে প্রতিটি লাইন আলাদা করে পড়া হচ্ছে। with-open ফাংশন ফাইল বন্ধ করার দায়িত্বও নিজে থেকে গ্রহণ করে।

উদাহরণ: BufferedWriter দিয়ে ফাইলে লেখা

(import '[java.io BufferedWriter FileWriter])

(with-open [writer (BufferedWriter. (FileWriter. "output.txt"))]
  (.write writer "Writing to file with BufferedWriter."))

এখানে, BufferedWriter এবং FileWriter ব্যবহার করে output.txt ফাইলে ডেটা লেখা হচ্ছে।


সারসংক্ষেপ

ক্লোজারে ফাইল I/O অপারেশনগুলির জন্য সাধারণত slurp এবং spit ফাংশন যথেষ্ট, যা সহজ এবং দ্রুত ফাইল পড়া এবং লেখার সুবিধা দেয়। বড় ফাইলের ক্ষেত্রে BufferedReader এবং BufferedWriter ব্যবহার করা হয়, যা প্রোগ্রামের কার্যক্ষমতা বাড়ায় এবং মেমোরি ব্যবহারে সাশ্রয়ী হয়।

ফাংশনকাজ
slurpসম্পূর্ণ ফাইল পড়ে একটি স্ট্রিং রিটার্ন করে
spitফাইলে ডেটা লেখে
BufferedReaderবড় ফাইলের প্রতিটি লাইন আলাদা করে পড়ে
BufferedWriterবড় ফাইলে ডেটা লেখার জন্য কার্যকর

এই ফাংশন ও পদ্ধতিগুলি ব্যবহার করে ক্লোজারে সহজেই ফাইল ইনপুট-আউটপুট কাজ সম্পন্ন করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion